package com.denlaku.longan.repository;

import com.denlaku.longan.dao.DataOriginDao;
import com.denlaku.longan.qo.DataOriginQuery;
import com.denlaku.longan.qo.Query;
import com.denlaku.longan.vo.DataOrigin;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public class DataOriginRepository {
    @Autowired
    private DataOriginDao dataOriginDao;

    /**
     * 新增数据源
     * @param dataOrigin 数据源
     * @return 新增记录数
     */
    public int add(DataOrigin dataOrigin) {
        return dataOriginDao.add(dataOrigin);
    }

    /**
     * 更新数据源
     * @param dataOrigin 数据源
     * @return 更新记录数
     */
    public int update(DataOrigin dataOrigin) {
        return dataOriginDao.update(dataOrigin);
    }

    /**
     * 删除数据源
     * @param query 查询参数
     * @return 删除记录数
     */
    public int delete(Query query) {
        return dataOriginDao.delete(query);
    }

    /**
     * 查询数据源
     * @param query 查询参数
     * @return 数据源列表
     */
    public List<DataOrigin> list(DataOriginQuery query) {
        return dataOriginDao.list(query);
    }

    /**
     * 获取数据源
     * @param query 查询参数
     * @return 数据源
     */
    public DataOrigin get(Query query) {
        return dataOriginDao.get(query);
    }

    /**
     * 获取数据源密码
     * @param query 查询参数
     * @return pwd
     */
    public String getPassword(Query query) {
        return dataOriginDao.getPassword(query);
    }

    /**
     * 清理tag
     *
     * @param tenantId 租户ID
     * @param tagId 标签ID
     */
    public void clearTag(Long tenantId, Long tagId) {
        dataOriginDao.clearTag(tenantId, tagId);
    }
}
